package cn.itcast.shop.category.adminaction;

import java.util.List;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

import cn.itcast.shop.category.service.CategoryService;
import cn.itcast.shop.category.vo.Category;

public class AdminCategoryAction extends ActionSupport implements ModelDriven<Category> {

	/**
	 * 
	 */
	private static final long serialVersionUID = 2796315867613544836L;
	private Category category = new Category();
	@Override
	public Category getModel() {
		return category;
	}

	private CategoryService categoryService;
	private Integer cid;
	
	
	public void setCid(Integer cid) {
		this.cid = cid;
	}

	public void setCategoryService(CategoryService categoryService) {
		this.categoryService = categoryService;
	}
	
	/**
	 * 后台执行查询所有一级分类的方法
	 * @return
	 */
	public String findAll(){
		//查询所有的一级分类：
		List<Category> cList = categoryService.findAll();
		//将集合的数据显示到页面，存放到值栈中
		ActionContext.getContext().getValueStack().set("cList", cList);
		return "findAll";
	}
	
	/**
	 * 后台保存一级分类的方法
	 * @return
	 */
	public String save(){
		categoryService.save(category);
		return "saveSuccess";
	}
	
	/**
	 * 后台删除一级分类的方法
	 * @return
	 */
	public String delete(){
		//接收cid，可以使用模型驱动，删除一级分类，同时删除二级分类，必须先根据id查询再进行删除。
		category= categoryService.findByCid(category.getCid());
		//
		categoryService.delete(category);
		return "deleteSuccess";
	}
	
	public String edit(){
		//根据一级分类的管理查询一级分类
		category= categoryService.findByCid(category.getCid());
		
		return "editSuccess";
	}
	
	/**
	 * 后台修改一级分类的方法
	 * @return
	 */
	public String update(){
		categoryService.update(category);
		// 页面跳转
		return "updateSuccess";
	}
	
}
























